Как я стал заниматься веб-разработкой?

Автор: Лобанов Борис
(команда Тренинг-центра Тинькофф)
Раз ты читаешь эту статью, то скорее всего задумывался над тем, как устроена лента новостей в соцсети, что отвечает за подборку видео на youtube, почему на одном и том же новостном сайте свежие новости. Все это – плоды работы веб-разработчиков.

С чего все началось?

В одни из очередных новогодних праздников, во время поедания оливье и безделья я решил разобраться как «сделаны» сайты. Это был вызов – смогу ли я, не имеющий специального образования, сделать нечто подобное. Мне пришлось просмотреть много материала и потратить кучу времени, чтобы найти полезную информацию и начать двигаться в направлении веб-разработки. Поэтому я хочу поделиться своим опытом, чтобы ты не совершал моих ошибок.

Чтобы понять каким веб-разработчиком я хочу быть, пришлось узнать кто такой веб-разработчик. Веб-разработчик занимается созданием сайтов и веб-приложений. То есть практически всем, что мы видим во всемирной паутине. В начале разработчик ведет простые проекты, чтобы набить руку и научиться писать что-то простое, например, сайты-визитки. После принимается за более сложные проекты, такие как наш сайт Тинькофф. В подобных вещах одному не справится и требуется целая команда веб-разработчиков. Попадись мне такая статья в начале пути – она помогла бы быстрее определиться с тем, что именно изучать для движения в интересующую сторону.

Какие веб-разработчики бывают?

Веб-разработчики делятся на несколько типов:
Изображение
Front-end:
Cоздает интерфейс продукта. Например: меню, кнопки, блоки текста, картинки, календари, формы и все, что мы видим на сайтах.
Изображение
Back-end:
Темная сторона силы. Занимается тем, что происходит за кадром. Такой разработчик работает над серверной частью продукта. К ней относятся авторизация, хранение и обработка данных, email рассылка и остальные внутренние механики.
Изображение
Fullstack:
Занимается разработкой интерфейса и серверной частью. Совмещает в себе оба типа. Это то, с чего стоит начать, чтобы сделать осознанный шаг в сторону back-end, front-end или стать полноценным fullstack разработчиком.

Как начать?

Изображение

Как начать?

С ходу определить, что нравится – сложно. Проще попробовать всего понемногу и развиваться в том, к чему лежит душа. Когда занимаешься любимым делом, это приносит удовольствие и пользу.
Изучая страницы в интернете я понял, что любой сайт содержит HTML и CSS. Независимо от выбранного направления разработки придется сталкиваться с этими языками. Они просты в изучении и позволят быстро увидеть результат. Написав полсотни строк кода, получится первая веб-страница.
Изображение
HTML
Язык разметки страницы. Он создает базовую структуру страницы, разделяет текст на параграфы и заголовки, задает базовые контейнеры. Это скелет твоего будущего сайта или веб-приложения.
Изображение
CSS
После разметки страницы в нее хочется добавить красок, сделать удобнее для восприятия. В этом нам поможет CSS.

CSS – таблицы стилей. Язык отвечает за внешний вид страницы: шрифты, цвета, расположение отдельных блоков, анимации и так далее.
Знание HTML и CSS позволит создать первый статичный сайт. Если хочется добавить в него немного магии, в виде интерактивности и действий, – придется прибегнуть к языкам программирования.
Изображение
JavaScript
Первый полноценный язык программирования с которым я познакомился. Он позволит создавать динамичный контент, управлять мультимедиа, хранить данные и делать все что угодно. Функционал ограничивается только фантазией.
Изображение
PHP
Язык сценариев страницы. Выполняется на стороне сервера и «подготавливает» страницу перед ее отправкой пользователю. Работает с базами данных, управляет файлами на сервере, собирает данные из заполненных форм и многое другое.
Изображение
SQL
Язык структурированных запросов. Обращается к базам данных и получает или записывает в них нужную информацию. Благодаря SQL ты получишь ту информацию из базы, которая нужна.
Это базовый набор языков, который поможет создать свою первую страницу и начать вливаться в процесс.

Сложности, с которыми можно столкнуться

Изображение
Для меня самым сложным в обучении было перейти от теории к практике и сесть писать код. Не бойся этого. Не думай, что твой код будет недостойным. Ты только начинаешь разбираться в веб-разработке.

Сообщество разработчиков большое и дружелюбное. Если будут возникать сложности или вопросы – обращайся к нему.

Важно помнить, что прежде чем писать очередной вопрос, постарайся самостоятельно найти нужную информацию. Поисковая система закроет основные вопросы.
Изображение
В процессе изучения придется сталкиваться с новыми библиотеками, обновляющимися стандартами. Следи за тенденциями. Будь готов постоянно обучаться, изучать новые технологии. Так уровень прогресса не остановится, уперевшись в планку «и так нормально». Совершенствуйся!

Не стоит сразу тратиться на дорогостоящие курсы. В начале пути нет четкого ориентира, что хотелось бы изучать. Попробуй языки, которые мы обсудили и смотри, чем больше нравится заниматься.

Любишь создавать интерфейсы и хочешь, чтобы сайт не отличался от макета ни на один пиксель? Твой выбор Front-end.
Хочешь быть гуру сервера и мгновенно получать и обрабатывать большие массивы данных? Тогда стоит смотреть в сторону Back-end.
Настолько понравился процесс, что хочешь работать с интерфейсом и сервером? Поздравляю, ты будущий Fullstack разработчик.

Полезности

Я подготовил несколько ссылок на полезные ресурсы по теме:

●    Google – основной источник информации. Первое, к чему стоит обратиться, когда появляется вопрос ;)
●    Stackoverflow – cайт вопросов и ответов для программистов. Он не раз выручал меня, когда я не мог самостоятельно придумать решение сложной механики или ситуации.
●    Tproger – на этой странице собраны статьи и обучающие материалы. Отличная практика – в свободное время посещать ее и изучать новое в мире программирование.
Изображение
Чтобы правильно организовать время изучения новой информации и не переутомляться, воспользуйся методом «Помидора». Лучшее приложение для его использования ты найдешь в этой публикации!

PS

У всех разные мысли на тему обучения и подхода к изучению информации. В этой статье изложено мое видение того, как я бы стал изучать веб-разработку сейчас.

Если у тебя есть интересная история на дополнительные темы и хочешь поделиться ей с другими, напиши в канал публикации и тебе в этом помогут.